// 把attrsString变为数组返回
export default function (attrsString) {
  if (attrsString == undefined) return []
  // 遇见引号的开关
  var isYinHao = false
  // 断点
  var point = 0
  // 结果数组
  var result = []
  // 遍历 attrsString
  for (let i = 0; i < attrsString.length; i++) {
    let char = attrsString[i]
    if (char == '"') {
      // 碰到引号开关取反
      isYinHao = !isYinHao
    } else if (char == ' ' && !isYinHao) {
      // 遇见空格,并且不再引号中
      if (!/^\s*$/.test(attrsString.substring(point, i))) {
        result.push(attrsString.substring(point, i).trim())
        point = i
      }
    }
  }
  // 循环结束之后还剩最后一个属性
  result.push(attrsString.substring(point).trim())
  // 将返回值整理为数组里面套对象形式
  result = result.map(item => {
    // 根据=号拆分
    const o = item.match(/^(.+)=(.+)$/)
    return {
      name: o[1],
      value: o[2]
    }
  })
  return result
}
